package com.liveinstars.im.domain.manager;

import com.baomidou.mybatisplus.extension.service.IService;
import com.liveinstars.api.im.query.UserOnlineInfoQuery;
import com.liveinstars.im.domain.dao.model.UserOnlineInfo;

import java.util.List;

/**
 * <p>
 * 登录用户信息表 服务类
 * </p>
 *
 * @author 8btc
 * @since 2020-04-29
 */
public interface UserOnlineInfoManager extends IService<UserOnlineInfo> {

    /**
     * 添加或更新在线用户登录信息
     * @param userOnlineInfo
     */
    void addOrUpdate(UserOnlineInfo userOnlineInfo);

    /**
     * 查询在线用户登录信息
     * @param query
     * @return
     */
    List<UserOnlineInfo> listByQuery(UserOnlineInfoQuery query);

    /**
     * 删除在线用户登录信息
     * @param chatServerId
     * @param channelId
     */
    void deleteByChatServerIdAndChannelId(Long chatServerId, String channelId);

    /**
     * 删除在线用户登录信息
     * @param chatServerId
     */
    void deleteByChatServerId(Long chatServerId);
}

